/** 
查找：根据给定某个关键字K，从集合R中找到关键字与R相同的记录

静态查找：集合中记录是固定的，没有插入与删除操作，只有查找
动态查找：集合中记录是动态变话的，除了查找，还有可能发生删除与插入

*/
typedef struct LNode *List;
struct LNode{
  ElementType Element[MAXSIZE];
  int Length;
}
/*
静态查找
方法一：顺序查找*/
int sequentialSearch(List Tbl,ElementType K){
  //在Element[0]-Element[n]中查找K
  int i;
  Tbl->Element[0]=K;  //哨兵
  for(i=Tbl->Length;Tbl->Element[i]!=K;i--);
  return i;/*查找成功返回所在下标，不成功返回0*/
}
/*方法2：二分查找（Binary Search）*/
int binarySearch(List Tbl,ElementType K)
{
  //在表Tbl中查找关键字为K的元素
  int left,right,mid,notFound=-1;
  /*初始左边界*/
  left=-1;
  /*初始右边界*/
  right=Tbl->Length;
  while(left<=right){
    mid=(left+right)/2;   //计算中间元素的坐标
    if(K<Tbl->Element[mid])right=mid-1;
    else if(K>Tbl->Element[mid])left=mid+1;
    else return mid;
  }


  return notFound;
}
/*树的定义
树（Tree）：n(n>=0)个结点构成的有限集合，当n=0时，称为空树
子树是不相交的；
除了根结点外，每个结点有且仅有一个父结点；
一棵N个结点的树，有N-1条边

**树的一些基本术语
1.结点的度（Degree）：结点的子树个数
2.树的度：树的所有结点中最大的度数
3.叶结点(Leaf)：度为0的结点


*/